package com.qing.service;

import com.qing.pojo.SignIn;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qing.pojo.vo.SignInVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author qinghua
 * @since 2022-06-06
 */
public interface SignInService extends IService<SignIn> {

    /**
     * 签到
     * @param userId
     * @return {@link Boolean }
     */
    String signIn(Integer userId);

    /**
     * 签退
     * @param userId
     * @return {@link Boolean }
     */
    String signOut(Integer userId);

    /**
     * 查询员工当天签到记录
     * @param userId
     * @return {@link SignIn }
     */
    SignIn queryByEmployeeId(Integer userId);

    /**
     * 查询所有员工今日签到记录及本月签到记录
     *
     * @return {@link List< Map< String, Object>> }
     */
    List<SignInVo> queryAllAndName();

    /**
     * 修改该员工今日为准时签到
     * @param employeeId
     * @return {@link Boolean }
     */
    Boolean updateSignInByEmployeeId(Integer employeeId);

    /**
     * 修改该员工今日为准时签退
     * @param employeeId
     * @return {@link Boolean }
     */
    String updateSignOutByEmployeeId(Integer employeeId);

}
